#

| Chapter 2 UNIX Commands |

## date

    date [option] [+format]
    date [options] [string]

In the first form, print the current date and time, specifying an optional display `format`. In the second form, a privileged user can set the current date by supplying a numeric `string`. `format` can consist of literal text strings (blanks must be quoted) as well as field descriptors, whose values will appear as described below (the listing shows some logical groupings).

### Format

%n

  Insert a newline.

%t

  Insert a tab.

%m

  Month of year (01-12).

%d

  Day of month (01-31).

%y

  Last two digits of year (00-99).

%D

  Date in %m/%d/%y format.

%b

  Abbreviated month name.

%e

  Day of month (1-31); pad single digits with a space.

%Y

  Four-digit year (e.g., 1996).

%h

  Same as %b.

%B

  Full month name.

%H

  Hour in 24-hour format (00-23).

%M

  Minute (00-59).

%S

  Second (00-61); 61 permits leap seconds.

%R

  Time in %H:%M format.

%T

  Time in %H:%M:%S format.

%I

  Hour in 12-hour format (01-12).

%p

  String to indicate a.m. or p.m. (default is AM or PM).

%r

  Time in %I:%M:%S %p format.

%a

  Abbreviated weekday.

%A

  Full weekday.

%w

  Day of week (Sunday = 0).

%U

  Week number in year (00-53); start week on Sunday.

%W

  Week number in year (00-53); start week on Monday.

%j

  Julian day of year (001-366).

%Z

  Time zone name.

%x

  Country-specific date format.

%X

  Country-specific time format.

%c

  Country-specific date and time format (default is %a %b %e %T %Z %Y; e.g., Mon Feb 1 14:30:59 EST 1993).

The preceding country-specific formats, as well as language names (e.g., for month and weekday) are defined in a file given by strftime(4).

### Options

-a `s`.`f`

  (Privileged user only.) Gradually adjust the system clock until it drifts `s` seconds away from what it thinks is the "current" time. (This allows continuous micro-adjustment of the clock while the system is running.) `f` is the fraction of seconds by which time drifts. By default, the clock speeds up; precede `s` by a - to slow down.

-u

  Display or set the time using Greenwich Mean Time.

### Strings for setting date

A privileged user can set the date by supplying a numeric `string`. `string` consists of time, day, and year concatenated in one of three ways: `time` or [`day`]`time` or [`day`]`time`[`year`]. Note: You don't type the brackets.

`time`

  A two-digit hour and two-digit minute (`HHMM`); `HH` uses 24-hour format.

`day`

  A two-digit month and two-digit day of month (`mmdd`); default is current day and month.

`year`

  The year specified as either the full four digits or just the last two digits; default is current year.

### Examples

Set the date to July 1 (0701), 4 a.m. (0400), 1995 (95):

>     date 0701040095

The command:

>     date +"Hello%t Date is %D %n%t Time is %T"

produces a formatted date as follows:

>     Hello	Date is 05/09/93
>     	Time is 17:53:39

Reference: cxref |  | Reference: dbx